-
Notifications
You must be signed in to change notification settings - Fork 138
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reimplement MPCD for HOOMD 4 #1784
Conversation
Port MPCD integrator, streaming methods, and collision methods
Reimplement MPCD particle sorter
Tweaks to MPCD v4 API
MPCD migration guide for HOOMD 4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
I found and removed a few remaining references to GPU polymorphism.
I was unable to build this branch with HIP. Many mpcd files include cuda_runtime.h
, reference cudaSucess
/ cudaError_t
, and possibly make other references to CUDA APIs I didn't notice yet. @mphoward Would you like me to proceed with merging this now and making mpcd available for CUDA only in the next release? I'm OK with fixing HIP support for MPCD in a future pull request.
Thanks! Yes, you’re right, and I didn’t notice this. Jens probably did not port any of the MPCD code to HIP because it would not compile with polymorphism. If we still have to fix these calls, it would be best to do it with hipper rather than HIP, so I agree with merging this now (with CUDA support only) for the next release & fixing it later! |
Description
This PR finalizes the reimplementation of MPCD for HOOMD 4. The changes added to this branch that haven't been in a previous PR are:
BUILD_MPCD
to matchBUILD_MD
and documenthoomd.mpcd
inBUILDING.rst
.See meta issue #775 and PRs #1580, #1655, #1681, #1689, #1690, #1691, #1712, #1714, #1734, #1737, #1741, #1763, #1778 for additional information.
Motivation and context
Resolves #775
How has this been tested?
All PRs have been tested along the way with C++ and Python tests. I additionally ran some applications with the new code and compared to HOOMD 2.9.7. The tests were: planar pressure-driven (Poiseuille) flow, planar shear (Couette) flow, and bulk diffusion of monomers. The figures below show identical results with the two versions of HOOMD.
Change log
Checklist:
sphinx-doc/credits.rst
) in the pull request source branch.